Создать массив случайных целых чисел, подсчитать их среднее арифметическое, а так же определить мин и макс значение из этих чисел — Delphi(Делфи)

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    mmOutput: TMemo;
    bbRun: TBitBtn;
    bbClose: TBitBtn;
    ibOutput: TLabel;
    procedure bbRunClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.bbRunClick(Sender: TObject);
const
  n = 25; // Кол-во эл-ов массива
  max_value = 100 + 1; // Диапазон значений случайных чисел
var
  m: array [1 .. n] of integer; // Массив чисел
  i: integer; // Индекс массива
  max, min: integer; // Мах и мин число
  sum: real; // Сумма чисел
  s: string;
begin
  s := '';
  // Заполняем массив случайными числами
  for i := 1 to n do
  begin
    m[i] := random(max_value);
    s := s + #9 + inttostr(m[i]); // Добавляем число к буферу
    if i mod 5 = 0 then // В буфере 5 чисел?
    begin // -Да. Выводим буфер
      mmOutput.lines.add(s);
      s := '';
    end
  end;
  // Задаем начальные значения переменных
  sum := m[1];
  max := m[1];
  min := m[1];
  // Цикл вычисления суммы всех случайных чисел и поиска
  // минимального и максимального:
  for i := 2 to n do
  begin
    sum := sum + m[i];
    if m[i] < min then
      min := m[i]
    else if m[i] > max then
      max := m[i];
  end;
  // Вычисляем среднее значение и выводи результат
  ibOutput.caption := 'минимум = ' + inttostr(min) + ' максимум = ' +
    inttostr(max) + ' среднее = ' + floattostr(sum / n);
end;

end.

Leave a Comment

− 3 = 2